export default class ObjectUtil {
  static parseToKeyPairList(obj) {
    return Object.keys(obj).reduce((r, k) => {
      r.push({
        value: k,
        label: obj[k]
      })
      return r
    }, [])
  }

  static parseListToMapObj(list) {
    return list.reduce((r, a) => {
      r[a.value] = a.label
      return r
    }, {})
  }

  static getPropValue(data, propName) {
    if (!data) {
      return data
    }
    const propNames = propName.split('.')
    for (let i = 0; i < propNames.length; i++) {
      data = data[propNames[i]]
      if (!data) {
        break
      }
    }
    return data
  }

  static assignEmptyProp(formData, data) {
    if (!data) {
      return
    }
    Object.keys(data).forEach(key => {
      if (!formData[key]) {
        formData[key] = data[key]
      }
    })
  }
}
